<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // iterator ES6新的遍历机制
    // 迭代器是一个接口，能快捷地访问数据，通过symbol.iterator来创建迭代器
    // 它也是用于遍历数据结构的指针  本质上就是一个指针，通过指针的next()来移动
    // next() 是必须提供的，它有value和done两个属性
    // 具备iterator接口的数据结构如下
    /* Array  Array的原型对象实现的iterator接口
     Map
     Set
     String
     TypedArray
     函数的arguments对象
     NodeList对象*/

    const items = ['one', 'two', 'three']
    // 创建新的迭代器
    let item = items[Symbol.iterator]()
    console.log(item.next()) // value:'one' done:false         done:false 未遍历完成  true:遍历完成
    console.log(item.next()) // value:'two' done:false
    console.log(item.next()) // value:'three' done:false
    console.log(item.next())  // value:undefined done:false
</script>
</body>
</html>
